package cn.com.pg.b2b.pd.truck.appointment.management.service.common;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 40001-49999 系统级参数、数据、权限等校验相关 60001-69999 应用级校验相关 90001-99999 系统、服务器错误相关
 */
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor(staticName = "of")
public class ReturnCode {

    private int code;
    private String message;

    private static int errorCode = 50000;

    public static final ReturnCode SUCCESS = ReturnCode.of(0, "success");

    public static final ReturnCode ERROR = ReturnCode.of(-1, "系统错误, 请联系管理员");

    public static final ReturnCode NO_NEW_DATA = ReturnCode.of(errorCode++, "数据为空");

    public static final ReturnCode TOKEN_INVALID_ERROR = ReturnCode.of(40001, "token invalid error.");
    public static final ReturnCode PULL_CDL_ERROR = ReturnCode.of(40001, "通知CDL推送数据失败");

    public static final ReturnCode XSS_SQL_INVALID_ERROR = ReturnCode.of(40002, "Invalid Request error.");

    public static final ReturnCode HTTP_MESSAGE_NOT_READABLE_ERROR = ReturnCode.of(40003, "http message not readable error.");

    public static final ReturnCode NO_HANDLER_FOUND_ERROR = ReturnCode.of(40004, "no handler found error.");

    public static final ReturnCode HTTP_MEDIA_TYPE_NOT_SUPPORTED = ReturnCode.of(40006, "http media type not supported error.");

    public static final ReturnCode USER_NOT_FOUND_ERROR = ReturnCode.of(40007, "user info not found error.");

    public static final ReturnCode USER_NOT_VALID_ERROR = ReturnCode.of(40008, "user info not valid error.");

    public static final ReturnCode PARAMETER_VALID_ERROR = ReturnCode.of(40009, "parameter valid error.");

    public static final ReturnCode INTERNAL_SERVER_ERROR = ReturnCode.of(40011, "HTTP Internal Server Error.");

    public static final ReturnCode USER_ID_NOT_FOUND = ReturnCode.of(40012, "user id not valid error.");

    public static final ReturnCode DC_ID_NOT_FOUND = ReturnCode.of(40013, "dc id not valid error.");

    public static final ReturnCode CHAR_ERROR = ReturnCode.of(40014, "请使用半角字符");

    public static final ReturnCode PARM_ERROR = ReturnCode.of(40017, "入参不正确");

    public static final ReturnCode TASK_QRCODE_HANDOVER_INVALID = ReturnCode.of(errorCode++, "任务交接二维码失效或已被交接.");

    public static final ReturnCode TASK_NOT_INWORK_KEEPER = ReturnCode.of(errorCode++, "此仓管员不在当前任务中.");

    public static final ReturnCode TASK_IS_KEEPER_ON_INWORK = ReturnCode.of(errorCode++, "已经在此任务中.");

    public static final ReturnCode TASK_NOT_USER_WORK_INFO = ReturnCode.of(errorCode++, "此任务不存在你的工作信息.");

    public static final ReturnCode TASK_CODE_NOT_EXIST = ReturnCode.of(errorCode++, "taskCode不存在.");

    public static final ReturnCode TASK_NOT_EXIST = ReturnCode.of(errorCode++, "任务不存在.");

    public static final ReturnCode WORK_DISPATCH_NODE_NOT_START = ReturnCode.of(errorCode++, "调度节点不存在开始节点.");

    public static final ReturnCode WORK_DISPATCH_NODE_NOT_AUTHORITY = ReturnCode.of(errorCode++, "上一节点工作未完成.");

    public static final ReturnCode WORK_DISPATCH_NODE_NOT_NULL = ReturnCode.of(errorCode++, "工作节点定义不存在.");

    public static final ReturnCode WORK_DISPATCH_EXECUTE_RETURN_NULL = ReturnCode.of(errorCode++, "工作执行返回空值异常.");

    public static final ReturnCode WORK_DISPATCH_PROHIBIT_REPETITION = ReturnCode.of(errorCode++, "此任务已完成,禁止重复执行.");

    public static final ReturnCode WORK_IS_CLOSE = ReturnCode.of(errorCode++, "此操作权限已被关闭.");

    public static final ReturnCode WORK_IS_UNAUTHORIZED = ReturnCode.of(errorCode++, "此工作当前未授权.");

    public static final ReturnCode TASK_LEAD_SEAL_NOT_YOUR_DATA = ReturnCode.of(errorCode++, "非当前用户填写的铅封新，不能删除.");

    public static final ReturnCode TASK_LEAD_SEAL_NOT_NULL = ReturnCode.of(errorCode++, "铅封信息不存在.");

    public static final ReturnCode TASK_NOT_LEAD_SEAL_INFO = ReturnCode.of(errorCode++, "任务无铅封信息.");

    public static final ReturnCode TASK_LEAD_SEAL_EXISTS = ReturnCode.of(errorCode++, "铅封编号已存在.");

    public static final ReturnCode STAGING_AREA_CODE_NOT_FOUND = ReturnCode.of(errorCode++, "备货区编码不存在.");

    public static final ReturnCode SHORT_NOT_EXIST = ReturnCode.of(errorCode++, "当前任务无待审批项目");

    public static final ReturnCode SHORT_END = ReturnCode.of(errorCode++, "当前任务已结束,请重新申请");

    public static final ReturnCode SHORT_STATUS_ERROR = ReturnCode.of(errorCode++, "短提状态变更，无法修改");

    public static final ReturnCode SHORT_REFUSE = ReturnCode.of(errorCode++, "当前任务已拒绝,请重新申请");

    public static final ReturnCode SHORT_IN_USE = ReturnCode.of(errorCode++, "有正在进行中的任务");

    public static final ReturnCode OFF_LOAD_NOT_EXIST = ReturnCode.of(errorCode++, "不存在甩货数据或甩货信息已被拒绝");

    public static final ReturnCode OFF_LOAD_STATUS_ERROR = ReturnCode.of(errorCode++, "任务状态发生变化，无法进行此操作");

    public static final ReturnCode OFF_LOAD_STATUS_REFUSE = ReturnCode.of(errorCode++, "任务已被拒绝");

    public static final ReturnCode OFF_LOAD_STATUS_CONFIRM_REFUSE = ReturnCode.of(errorCode++, "任务审批已拒绝");

    public static final ReturnCode OFF_LOAD_STATUS_CHECK_REFUSE = ReturnCode.of(errorCode++, "任务复核已拒绝");

    public static final ReturnCode OFF_LOAD_STATUS_TASK_END = ReturnCode.of(errorCode++, "任务已被终止");

    public static final ReturnCode QUEUE_NUMBER_TYPE_ERROR = ReturnCode.of(errorCode++, "不能移到不同类型号码上");

    public static final ReturnCode QUEUE_TASK_EXIST_ERROR = ReturnCode.of(errorCode++, "任务已在排号中");

    public static final ReturnCode QUEUE_NUMBER_TYPE_SORT_NOT_UPDATE_ERROR = ReturnCode.of(errorCode++, "普通排号不能调整");

    public static final ReturnCode QUEUE_NUMBER_TYPE_NORMAL_ERROR = ReturnCode.of(errorCode++, "普通排号才能调整为VIP");

    public static final ReturnCode SIGNATURE_DATA_ERROR = ReturnCode.of(errorCode++, "没有电子签数据");

    public static final ReturnCode SIGNATURE_DATA_CONFIRM_ERROR = ReturnCode.of(errorCode++, "电子签数据没有全部确认");

    public static final ReturnCode SIGNATURE_KEEPER_NOT_FOUND = ReturnCode.of(errorCode++, "没有找到仓管员");

    public static final ReturnCode SIGNATURE_KEEPER_UNIQUEID_NOT_FOUND = ReturnCode.of(errorCode++, "仓管员电子签UNIQUEID不存在");

    public static final ReturnCode SIGNATURE_DRIVER_UNIQUEID_NOT_FOUND = ReturnCode.of(errorCode++, "电子签UNIQUEID不存在");

    public static final ReturnCode SIGNATURE_DRIVER_USERID_NOT_FOUND = ReturnCode.of(errorCode++, "任务司机ID不存在");

    public static final ReturnCode SIGNATURE_ID_NOT_FOUND = ReturnCode.of(errorCode++, "电子签ID不存在");

    public static final ReturnCode SIGNATURE_ERROR = ReturnCode.of(errorCode++, "电子签失败");

    public static final ReturnCode INIT_CHECK = ReturnCode.of(errorCode++, "该DC车辆检查未定义");

    public static final ReturnCode DOCK_NOT_NULL = ReturnCode.of(errorCode++, "垛口信息不存在");

    public static final ReturnCode ABNORMAL_ORDER_PARAM_ERROR = ReturnCode.of(errorCode++, "非单配置出错，未识别的非单流程");

    public static final ReturnCode ABNORMAL_ORDER_WORK_NODE_ERROR = ReturnCode.of(errorCode++, "非单配置出错，未识别的任务节点");

    public static final ReturnCode ABNORMAL_ORDER_NOT_EXIST = ReturnCode.of(errorCode++, "非单数据不存在");

    public static final ReturnCode ABNORMAL_ORDER_WORK_NODE_NOT_AUTHORITY = ReturnCode.of(errorCode++, "非单审批流程出错，无法进行此操作");

    public static final ReturnCode ABNORMAL_ORDER_EFFECT = ReturnCode.of(errorCode++, "非单已生效，无法修改");

    public static final ReturnCode ABNORMAL_ORDER_HANDLED = ReturnCode.of(errorCode++, "非单已处理，无法重复处理");

    public static final ReturnCode SPECIAL_RECEIVING_STATUS_ERROR = ReturnCode.of(errorCode++, "特殊到货状态错误，请刷新后重试");

    public static final ReturnCode SPECIAL_RECEIVING_DATA_ERROR = ReturnCode.of(errorCode++, "特殊到货无法获取对应承运商，请检查数据");

    public static final ReturnCode SPECIAL_RECEIVING_EMAIL_ERROR = ReturnCode.of(errorCode++, "特殊到货承运商未配置邮件地址，请检查配置");

    public static final ReturnCode SPECIAL_RECEIVING_EMAIL_TEMPLATE_ERROR = ReturnCode.of(errorCode++, "特殊到货未配置邮件模板，请检查配置");

    public static final ReturnCode CARRIER_USER_CONFIG_ERROR = ReturnCode.of(errorCode++, "登陆用户未配置承运商信息，无法访问该页面");

    public static final ReturnCode FEIGN_ERROR = ReturnCode.of(errorCode++, "调用Feign失败");

    public static final ReturnCode SHORT_NO_PERMISSION = ReturnCode.of(errorCode++, "审批失败无权限");

    public static final ReturnCode STEVEDORE_IN_WORK = ReturnCode.of(errorCode++, "已经在工作中,不能交接多个任务");

    public static final ReturnCode MASTER_DATE_NOT_USER = ReturnCode.of(errorCode++, "主数据中未查询到您的ID信息,请联系管理员配置");

    public static final ReturnCode QUEUE_NUM_TYPE_IS_NULL = ReturnCode.of(errorCode++, "排号类型不存在");

    public static final ReturnCode QUEUE_APPLY_ERROR = ReturnCode.of(errorCode++, "排号申请错误");

    public static final ReturnCode PASSWORD_CHECK_ERROR = ReturnCode.of(errorCode++, "验证码错误,请重新输入");

    public static final ReturnCode ORDER_SHIPMENT_RECORD_NULL = ReturnCode.of(errorCode++, "OrderShipment记录为空");
    public static final ReturnCode ORDER_SHIPMENT_DELIVERY_CODE_NULL = ReturnCode.of(errorCode++, "交货号不能为空");
    public static final ReturnCode ORDER_SHIPMENT_CODE_NULL = ReturnCode.of(errorCode++, "装运号不能为空");
    public static final ReturnCode ORDER_SHIPMENT_DELIVERY_CODE_ALREADY_EXISTS = ReturnCode.of(errorCode++, "交货号已经存在");

    public static final ReturnCode SHIPMENT_COMPLETED_BOARD_RATIO_ERROR = ReturnCode.of(errorCode++, "累计完成整板比例不能超过100");
    public static final ReturnCode SHIPMENT_COMPLETED_BOARD_BULK_ERROR = ReturnCode.of(errorCode++, "累计完成散板比例不能超过100");
    public static final ReturnCode RPA_RECORD_NULL = ReturnCode.of(errorCode++, "RPA记录为空");
    public static final ReturnCode RPA_BULK_PICK_NULL = ReturnCode.of(errorCode++, "bulk pick为空,不能为空");
    public static final ReturnCode RPA_DESTINATION_AREA_NULL = ReturnCode.of(errorCode++, "destination area为空,不能为空");
    public static final ReturnCode RPA_BULK_PICK_INVALIDATE = ReturnCode.of(errorCode++, "bulkPick的值不是Y,也不是N");
    public static final ReturnCode RPA_DESTINATION_AREA_INVALIDATE = ReturnCode.of(errorCode++, "destination area的值不是I,不是II,也不是Staging Area-Pre allcation");
    public static final ReturnCode OFFLOAD_IS_ALREADY_APPROVAL = ReturnCode.of(errorCode++, "该甩货信息已被审批");
    public static final ReturnCode OFFLOAD_IS_UN_APPROVAL = ReturnCode.of(errorCode++, "存在甩货信息，但是未被审批。");
    public static final ReturnCode PRIME_DATA_IS_NULL = ReturnCode.of(errorCode++, "没有查询到Prime目标数据");
    public static final ReturnCode SAP_DATA_IS_NULL = ReturnCode.of(errorCode++, "没有查询到SAP目标数据");
    public static final ReturnCode SIGNATURE_SHORT_APPROVAL_NOT_COMPLETED_ERROR = ReturnCode.of(errorCode++, "此任务存在未审批完成短提");
    public static final ReturnCode SIGNATURE_ABNORMALORDERINSIDE_APPROVAL_NOT_COMPLETED_ERROR = ReturnCode.of(errorCode++, "此任务存在未审批完成非单");
    public static final ReturnCode SIGNATURE_NOT_CHECK_SKU_ERROR = ReturnCode.of(errorCode++, "此任务存在未核对订单");
    public static final ReturnCode SIGNATURE_NOT_NOTSIGNCONFIRMCOUNT_ERROR = ReturnCode.of(errorCode++, "此任务存在非单签单未确认数据");
    public static final ReturnCode USER_INFO_IS_NULL = ReturnCode.of(errorCode++, "用户信息不存在");
    public static final ReturnCode SHORT_DELIVERY_LOG_IS_NULL = ReturnCode.of(errorCode++, "短提历史不存在");
    public static final ReturnCode DRIVERSCANCODEBYDOCKDATETIME_IS_NULL = ReturnCode.of(errorCode++, "司机未扫码靠垛");

    public static final ReturnCode SIGNATURE_DELIVERY_CODE_EMPTY = ReturnCode.of(errorCode++, "电子签交货号空");
    public static final ReturnCode SIGNATURE_SAP_DATA_NOT_FOUND = ReturnCode.of(errorCode++, "没有查询到SAP电子签数据");
    public static final ReturnCode SIGNATURE_TEMPLATE_NOT_FOUND = ReturnCode.of(errorCode++, "电子签模板没有配置");
    public static final ReturnCode SIGNATURE_API_ERROR = ReturnCode.of(errorCode++, "调用电子签接口错误");
    public static final ReturnCode SHORT_DELIVERY_TYPE_ERROR = ReturnCode.of(errorCode++, "该交货号对应的是卸货任务，不能创建短提");
    public static final ReturnCode ABNORMAL_ORDER_KEY_REPATE = ReturnCode.of(errorCode++, "非单KEY重复，同一交货号代码批次货物状态只能创建一条数据");
    public static final ReturnCode DUMP_NOT_YITI = ReturnCode.of(errorCode++, "甩货未提");
    public static final ReturnCode SPECIAL_RECEIVING_REPEAT_ERROR = ReturnCode.of(errorCode++, "数据重复，同一订单号，Ship To和要求到货日期只能创建一条数据");
    public static final ReturnCode NOT_IS_SIGN_CONFIRM_ERROR = ReturnCode.of(errorCode++, "此任务存在备注未确认数据");
    public static final ReturnCode RCEIVING_DIFERENCE_NOT_IS_NULL_COUNT = ReturnCode.of(errorCode++, "不一致数据未填写备注");

    public static final ReturnCode PRIME_OVER = ReturnCode.of(errorCode++, "prime修改后值超过prime当前批次总数");
    public static final ReturnCode PRIME_CHILD = ReturnCode.of(errorCode++, "存在新增的prime数据请删除后操作");

    public static final ReturnCode SPLIT_TASK_ERROR = ReturnCode.of(errorCode++, "没有找到分批到货任务");

    public static final ReturnCode TASK_INIT = ReturnCode.of(errorCode++, "数量核对初始化中");

    public static final ReturnCode TASK_DELIVERY_TYPE_ERROR = ReturnCode.of(errorCode++, "任务交付类型异常");

    public static final ReturnCode TASK_SIGNATURE_ERROR = ReturnCode.of(errorCode++, "已经创建电子签流程");

    public static final ReturnCode TASK_SIGNATURE_PROCESS_ERROR = ReturnCode.of(errorCode++, "正在电子签...");

    public static final ReturnCode DOCK_REPEAT_ASSIGN = ReturnCode.of(errorCode++, "已指派当前垛口");

    public static final ReturnCode SEND_MAIL_FAILED = ReturnCode.of(errorCode++, "发送失败！");

    public static final ReturnCode ABNORMAL_ORDER_TASKID_NOT_EXIST = ReturnCode.of(errorCode++, "非单任务ID不存在,无法进行点数确认");

    public static final ReturnCode CM_UPDATE_VALIDATOR_ERROR = ReturnCode.of(errorCode++, "交货号、代码、批次已存在");

    public static final ReturnCode NOT_YOU_INWORK_TASK = ReturnCode.of(errorCode++, "此任务不是属于你.");

    public static final ReturnCode SHORT_INFO_IS_NULL = ReturnCode.of(errorCode++, "短提信息不存在.");

    public static final ReturnCode SHORT_DELIVERY_APPROVAL_NOT_NEXT_NODE = ReturnCode.of(errorCode++, "短提流程未找到下一步节点.");

    public static final ReturnCode SHORT_DELIVERY_NO_SUBMIT_PERMISSION = ReturnCode.of(errorCode++, "没有短提提交权限.");

    public static final ReturnCode SHORT_DELIVERY_PROCESS_IS_NULL = ReturnCode.of(errorCode++, "短提流程未定义.");

    public static final ReturnCode SHORT_DELIVERY_PROCESS_NEXT_NONE = ReturnCode.of(errorCode++, "当前审批节点定义不支持此操作.");

    public static final ReturnCode CREATE_SHIPMENT_ORDER_INFO_ERROR = ReturnCode.of(errorCode++, "创建订单内容检查表失败,请重试");

    public static final ReturnCode DELIVERY_CODE_IS_NULL = ReturnCode.of(errorCode++, "交货号不存在");

    public static final ReturnCode TASK_IS_CARRIER_ON_INWORK = ReturnCode.of(errorCode++, "已经在此任务中,禁止交接给自己.");

    public static final ReturnCode TASK_DELIVERY_SKU_IS_NULL = ReturnCode.of(errorCode++, "交货号代码不存在");

    public static final ReturnCode SPLIT_TASK_NO_SIGNATURE_DATA = ReturnCode.of(errorCode++, "分批到货没有电子签");

    public static final ReturnCode PARAM_TASK_ID_IS_NULL = ReturnCode.of(errorCode++, "任务ID不能为空！");

    public static final ReturnCode ABNORMAL_ORDER_SUBMIT_QUANTITY_ERROR = ReturnCode.of(errorCode++, "实际拣选和非单的总数量与目标拣选量不符，不可提交");

    public static final ReturnCode TASK_QUANTITY_NOT_MATCH_ACTUAL = ReturnCode.of(errorCode++, "实际拣选量超出目标拣货量");

    public static final ReturnCode ABNORMAL_OPERATION_ERROR = ReturnCode.of(errorCode++, "当前任务已完成，不可操作");

    public static final ReturnCode ABNORMAL_NO_ONESELF_OPERATION_ERROR = ReturnCode.of(errorCode++, "非本人创建非单，不可操作");

    public static final ReturnCode ABNORMAL_NO_TASK_CREATE_OPERATION_ERROR = ReturnCode.of(errorCode++, "任务未开始，不可创建非单");

    public static final ReturnCode NO_AVAILABLE_DATA = ReturnCode.of(errorCode++, "关联不到可用数据,请更新业务数据后重试.");

    public static final ReturnCode NO_DISTRIBUTION_SYS_PARAMS = ReturnCode.of(errorCode++, "获取不到配车结果的系统参数");

    public static final ReturnCode SHORT_DELIVERY_REPEAT = ReturnCode.of(errorCode++, "短提交货号重复");

    public static final ReturnCode TASK_QUANTITY_NUMBER_CHECK_ERROR = ReturnCode.of(errorCode++, "司机已点数,不能同时点数");

    public static final ReturnCode CAR_ALLOCATION_IMPORT_ERROR = ReturnCode.of(errorCode++, "配车结果导入失败!");

    public static final ReturnCode CUSTOMER_DATA_IMPORT_ERROR = ReturnCode.of(errorCode++, "客户主数据导入失败!");

    public static final ReturnCode LIST_NOT_FOUND_BY_FLOW = ReturnCode.of(errorCode++, "当前流向下没有满足条件的数据!");

    public static final ReturnCode TASK_DETAIL_NOT_EXIST = ReturnCode.of(errorCode++, "查询不到对应的任务明细.");

    public static final ReturnCode TASK_STATUS_ERROR = ReturnCode.of(errorCode++, "任务状态错误,只能确认等待中的任务");

    public static final ReturnCode TASK_FINISHED_STATUS_ERROR = ReturnCode.of(errorCode++, "任务状态错误,只能确认创单和主仓发货都完成的任务");

    public static final ReturnCode TASK_TWO_ADDSUBSCRIBE_CONFIRM_OUT_WAREHOUSE_ERROR = ReturnCode.of(errorCode++, "二次加约任务未满足确认离库条件");

    public static final ReturnCode NOT_UPDATE_APPOINTMENT_DATE_ERROR = ReturnCode.of(errorCode++, "不能修改预约时间");

    public static final ReturnCode NOT_UPDATE_REPLY_DATE_ERROR = ReturnCode.of(errorCode++, "不能修改回复日期");

    public static final ReturnCode IS_RUNNING_ERROR = ReturnCode.of(errorCode++, "正在运行，请稍后再试");

    public static final ReturnCode QA_UPLOAD = ReturnCode.of(errorCode++, "需QA上传申请表");

    public static final ReturnCode NOT_THE_SPECIFIED_TYPE = ReturnCode.of(errorCode++, "不是指定类型");

    public static final ReturnCode DATA_UPDATE_FAIL = ReturnCode.of(errorCode++, "数据修改失败");

    public static final ReturnCode DATA_INSERT_FAIL = ReturnCode.of(errorCode++, "数据新增失败");

    public static final ReturnCode FLOW_NEXT_NODE_ISNULL = ReturnCode.of(errorCode++, "流程节点不存在");

    public static final ReturnCode FLOW_ISNULL = ReturnCode.of(errorCode++, "流程不存在");

    public static final ReturnCode FLOW_LOG_ISNULL = ReturnCode.of(errorCode++, "流程执行记录不存在");

    public static final ReturnCode PRIME_COOKIES_ISNULL = ReturnCode.of(errorCode++, "PrIME 获取cookies异常");

    public static final ReturnCode QR_CODE_ERROR = ReturnCode.of(errorCode++, "二维码内容异常");

    public static final ReturnCode RESERVATION_NOT_EXIST = ReturnCode.of(errorCode++, "预约信息不存在");

    public static final ReturnCode NOT_WAIT_STATUS = ReturnCode.of(errorCode++, "当前非待入园状态");

    public static final ReturnCode NOT_IN_STATUS = ReturnCode.of(errorCode++, "当前非入园状态");

    public static final ReturnCode NOT_LEAVE_DOCK_STATUS = ReturnCode.of(errorCode++, "当前非离垛状态");

    public static final ReturnCode SIGN_EXIST = ReturnCode.of(errorCode++, "签到记录已存在");

    public static final ReturnCode SIGN_NOT_EXIST = ReturnCode.of(errorCode++, "签到信息不存在");

    public static final ReturnCode LOCK_NOT_TAKE = ReturnCode.of(errorCode++, "电子锁非已领取状态");

    public static final ReturnCode LOCK_NOT_RETURN = ReturnCode.of(errorCode++, "电子锁非已归还状态");

    public static final ReturnCode LOCK_CODE_NOT_FIT = ReturnCode.of(errorCode++, "电子锁编号不一致");

    public static final ReturnCode CRENEL_CODE_NOT_FIT = ReturnCode.of(errorCode++, "垛口编号不一致");

    public static final ReturnCode CRENEL_CODE_NOT_CONFIRM = ReturnCode.of(errorCode++, "垛口未确认");

    public static final ReturnCode CRENEL_CODE_NOT_EXIST = ReturnCode.of(errorCode++, "垛口信息不存在");

    public static final ReturnCode UPDATE_BLOB_ERROR = ReturnCode.of(errorCode++, "图片上传blob失败");

    public static final ReturnCode HAS_NO_RIGHT = ReturnCode.of(403, "权限不足");

    public static final ReturnCode USER_HAS_EXIST = ReturnCode.of(40001, "账号已存在");

    public static final ReturnCode USER_NOT_EXIST = ReturnCode.of(403, "用户不存在");

    public static final ReturnCode USER_MOBILE_EXIST = ReturnCode.of(40002, "手机号已经存在");

    public static final ReturnCode USER_ACCOUNT_EXIST = ReturnCode.of(40003, "账号已经存在");

    public static final ReturnCode USER_ACCOUNT_FAILED = ReturnCode.of(405, "账号不存在或账号已禁用");

    public static final ReturnCode USER_EMAIL_EXIST = ReturnCode.of(40004, "邮箱已经存在");

    public static final ReturnCode ROLE_NAME_EXIST = ReturnCode.of(40005, "角色名称已经存在");

    public static final ReturnCode ROLE_PERMISSIONS_EXIST = ReturnCode.of(40006, "角色权限已经存在");

    public static final ReturnCode DC_NAME_EXIST = ReturnCode.of(40007, "DC名称已经存在");

    public static final ReturnCode DC_CODE_EXIST = ReturnCode.of(40008, "DC编码已经存在");

    public static final ReturnCode MENU_HAS_CHILDREN = ReturnCode.of(40009, "该菜单具有子菜单,不能删除");

    public static final ReturnCode MENU_HAS_ALLOCATED = ReturnCode.of(40010, "菜单已经分配了,不能删除");

    public static final ReturnCode DC_HAS_ALLOCATED = ReturnCode.of(40011, "DC已经分配了,不能删除");

    public static final ReturnCode MENU_NAME_EXIST = ReturnCode.of(40012, "菜单名称或者标识已经存在");

    public static final ReturnCode ONLY_ALLOCATED_ONE_LOGIN = ReturnCode.of(401, "单个账号只允许在一处登录");

    public static final ReturnCode NOT_LOGIN = ReturnCode.of(40012, "请先登录");

    public static final ReturnCode ROLE_NOT_FORBIDDEN = ReturnCode.of(40013, "该角色关联用户不允许禁用");

    public static final ReturnCode DC_NOT_FORBIDDEN = ReturnCode.of(40014, "该角色关联用户不允许禁用");

    public static final ReturnCode OM_CREATE_SHIPMENT_FAIL = ReturnCode.of(40015, "创建shipment失败");

    public static final ReturnCode SEND_EMAIL_FAIL = ReturnCode.of(40016, "发邮件失败");

    public static final ReturnCode MAIL_MODULE_NULL = ReturnCode.of(errorCode++, "邮件模板为空");
    public static final ReturnCode MAIL_RECEIVER_NULL = ReturnCode.of(errorCode++, "收件人为空");
    public static final ReturnCode NOT_SHIPMENT_TYPE = ReturnCode.of(errorCode++, "非发货类型数据");
    public static final ReturnCode NOT_RECEIVING_TYPE = ReturnCode.of(errorCode++, "非收货类型数据");
    public static final ReturnCode NO_SHIPMENT = ReturnCode.of(errorCode++, "交货号下没有对应sap的shipment");
    public static final ReturnCode NO_SELF_SHIPMENT_FOR_BOOKING_ID = ReturnCode.of(errorCode++, "该预约ID下没有自创shipment");
    public static final ReturnCode NO_DELIVERY_FOR_SELF_SHIPMENT = ReturnCode.of(errorCode++, "自创shipment下没有交货号");
    public static final ReturnCode BOOKING_TYPE_ERROR = ReturnCode.of(errorCode++, "预约类型为1（发货）或2（收货）");
    public static final ReturnCode PICKING_SHIPMENT_NULL = ReturnCode.of(errorCode++, "SAP shipment不能为空");
    public static final ReturnCode DELIVERY_NUM_NULL = ReturnCode.of(errorCode++, "交货号不能为空");
    public static final ReturnCode BUSINESS_CODE_NULL = ReturnCode.of(errorCode++, "业务编码不能为空");
    public static final ReturnCode BOOKING_ID_NULL = ReturnCode.of(errorCode++, "预约ID不能为空");
    public static final ReturnCode UPDATE_TVSS_ERROR = ReturnCode.of(errorCode++, "更新TVSS接口ERROR");


    public static final ReturnCode DELETE_SHIPMENT_FAIL = ReturnCode.of(40017, "删除shipment失败");

    public static final ReturnCode CREATE_SHIPMENT_FAIL = ReturnCode.of(40020, "创建shipment失败");

    public static final ReturnCode LOGIN_FAIL = ReturnCode.of(40018, "登录失败");

    public static final ReturnCode ROLE_HAS_USER = ReturnCode.of(40019, "该角色关联用户不允许删除");

    public static final ReturnCode USER_HAS_NOT_PERM = ReturnCode.of(40020, "您不具有管理员权限,不允许操作");

    public static final ReturnCode SHIPMENT_CHECK_FAILED = ReturnCode.of(errorCode++, "touchless创建的shipment和SAP同步的shipment不一致");

    public static final ReturnCode VEHICLE_NOT_RESERVATION = ReturnCode.of(errorCode++, "车辆未预约");
    public static final ReturnCode VEHICLE_NOT_NON_RESERVATION = ReturnCode.of(errorCode++, "车辆无Non预约");
    public static final ReturnCode BUSINESS_NO_CHECK_OUT = ReturnCode.of(errorCode++, "业务未check out");

    public static final ReturnCode NETWORK_ERROR = ReturnCode.of(errorCode++, "网络异常，请人工处理");

    public static final ReturnCode LOCK_NOT_CHECKOUT = ReturnCode.of(errorCode++, "未归还设备，未TVSS checkout，请人工处理。“ 或者 “未归还设备，请人工处理。“ 或者 “未TVSS checkout，请人工处理。");

    public static final ReturnCode PAGE_SIZE_BEYOND_LIMIT = ReturnCode.of(errorCode++, "页面大小超限，最大不得超过5000");

    public static final ReturnCode APPOINTMENT_CANCELED = ReturnCode.of(errorCode++, "该预约已取消，无法创建车牌");

    public static final ReturnCode TIME_ERROR = ReturnCode.of(errorCode++, "该预约创建日期为空，或不是今天");

    public static final ReturnCode RECEIVE_DELIVERY_NUM_NOT_FOUND = ReturnCode.of(errorCode++, "收货交货号不存在，请注意收货方编码应为为C816!");

    public static final ReturnCode ERROR_PARAMETER = ReturnCode.of(errorCode++, "参数错误！");

    public static final ReturnCode PULL_TVSS_ERROR = ReturnCode.of(errorCode++, "推送TVSS失败");

    public static final ReturnCode LEAST_ONE = ReturnCode.of(errorCode++, "最少保留一条数据");
}
